Shift+Sipka...

Otázka od: vponecha@volny.cz

21. 4. 2004 16:14

Ahoj,

Mam prosbu. Chci na pohyb objektu ve sve aplikaci (objekty jsou
tridy TPanel) pouzit shift+sipka (left, rigth, top, down). Delal
jsem to asi takto. Na formular jsem do OnKeyDown dal proceduru,
ktera oznaceny objekt najde a pripocitava nebo odcita
TPanel.left/top.

Jenze ono to nefunguje. Misto toho, aby se mi pohyboval objekt,
lita mi focused po buttons, ktere mam take na formulari.

Jak na to?

Diky,

Vl.


--
SURVIVAL --- L-Carnitin+ HCA+ Chrom --- Miluj sve telo. Zbav se
kil! Specialni nabidka pro zeny na
http://www.mixer.cz/redirect.phtml?sig=survival


Odpovedá: Burkovsky Ladislav

21. 4. 2004 16:22

Zeby keypreview

-----Ursprungliche Nachricht-----
Von: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]Im
Auftrag von vponecha@volny.cz
Gesendet: Mittwoch, 21. April 2004 17:00
An: delphi-l@clexpert.cz
Betreff: Shift+Sipka...


Ahoj,

Mam prosbu. Chci na pohyb objektu ve sve aplikaci (objekty jsou
tridy TPanel) pouzit shift+sipka (left, rigth, top, down). Delal
jsem to asi takto. Na formular jsem do OnKeyDown dal proceduru,
ktera oznaceny objekt najde a pripocitava nebo odcita
TPanel.left/top.

Jenze ono to nefunguje. Misto toho, aby se mi pohyboval objekt,
lita mi focused po buttons, ktere mam take na formulari.

Jak na to?

Diky,

Vl.


--
SURVIVAL --- L-Carnitin+ HCA+ Chrom --- Miluj sve telo. Zbav se
kil! Specialni nabidka pro zeny na
http://www.mixer.cz/redirect.phtml?sig=survival


Odpovedá: horky@cominn.cz

22. 4. 2004 6:35

> From: vponecha@volny.cz [mailto:vponecha@volny.cz]
> Sent: Wednesday, April 21, 2004 5:00 PM

> Mam prosbu. Chci na pohyb objektu ve sve aplikaci (objekty jsou
> tridy TPanel) pouzit shift+sipka (left, rigth, top, down). Delal
> jsem to asi takto. Na formular jsem do OnKeyDown dal proceduru,
> ktera oznaceny objekt najde a pripocitava nebo odcita
> TPanel.left/top.
>
> Jenze ono to nefunguje. Misto toho, aby se mi pohyboval objekt,
> lita mi focused po buttons, ktere mam take na formulari.

1. KeyPreview na formu musis mit true.
2. Po vlastni obsluze stisku klaves potlacit dalsi defaultni zpracovani pomoci
Key := 0;

procedure TMujForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ssShift in State) then begin
    if (Key = VK_UP) then begin
      PosunPanelNahoru;
      Key := 0; //zablokovat dalsi zpracovani stisku sipky
    end;
    ...
    obsluha dalsich sipek
    ...
  end;
end;
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky@cominn.cz]